
template < typename tAllocator, typename tRwLocker, typename tDataStore  >
/*static */inline std::shared_ptr<FTLib::IBitmapData2> CBitmapData<tAllocator, tRwLocker, tDataStore>::Create(FTLib::PixelType pixeltype, std::uint32_t width, std::uint32_t height, std::uint32_t pitch /*= -1*/, std::uint32_t extraRows /*= 0*/, std::uint32_t extraColumns /*= 0*/)
{
	if (pitch <= 0)
	{
		pitch = CalcDefaultPitch(pixeltype, width + 2 * extraColumns);
	}

	auto s = std::make_shared<CBitmapData<tAllocator>>(pixeltype, width, height, pitch, extraRows, extraColumns);

	return s;
}
